package com.project.server.service.operate.impl;

import com.project.common.core.domain.BaseServer;
import com.project.server.domain.operate.TOperateInformation;
import com.project.server.mapper.operate.TOperateInformationMapper;
import com.project.server.service.operate.ITOperateInformationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

import static com.project.server.utils.DelTagUtil.getTextFromHtml;

/**
 * 运营管理资讯动态Service业务层处理
 *
 * @author project
 * @date 2021-06-29
 */
@Service
public class TOperateInformationServiceImpl extends BaseServer implements ITOperateInformationService {

    private static final Logger log = LoggerFactory.getLogger(TOperateInformationServiceImpl.class);

    @Resource
    private TOperateInformationMapper tOperateInformationMapper;

    /**
     * 查询运营管理资讯动态
     *
     * @param informationId 运营管理资讯动态ID
     * @return 运营管理资讯动态
     */
    @Override
    public TOperateInformation selectTOperateInformationById(Long informationId) {
        TOperateInformation tOperateInformation = tOperateInformationMapper.selectTOperateInformationById(informationId);
        TOperateInformation obj = new TOperateInformation();
        //增加点击次数
        obj.setInformationId(informationId);
        Long contentHit = tOperateInformation.getContentHit();
        contentHit++;
        obj.setContentHit(contentHit);
        tOperateInformationMapper.updateTOperateInformation(obj);
        return tOperateInformation;
    }

    /**
     * 处理导出内容中的html标签
     */
    @Override
    public List<TOperateInformation> selectTOperateInformationDelTags(TOperateInformation tOperateInformation){
        List<TOperateInformation> operateInformation = tOperateInformationMapper.selectTOperateInformationList(tOperateInformation);
        for(int i = 0;i<operateInformation.size();i++){
            TOperateInformation tOperateInformation1 = operateInformation.get(i);
            tOperateInformation1.setInformationDetails(getTextFromHtml(tOperateInformation1.getInformationDetails()));
        }
        return operateInformation;
    }

    /**
     * 查询运营管理资讯动态列表
     *
     * @param tOperateInformation 运营管理资讯动态
     * @return 运营管理资讯动态
     */
    @Override
    public List<TOperateInformation> selectTOperateInformationList(TOperateInformation tOperateInformation) {
        return tOperateInformationMapper.selectTOperateInformationList(tOperateInformation);
    }

    /**
     * 新增运营管理资讯动态
     *
     * @param tOperateInformation 运营管理资讯动态
     * @return 结果
     */
    @Override
    public int insertTOperateInformation(TOperateInformation tOperateInformation) {
        super.insert(tOperateInformation);
        return tOperateInformationMapper.insertTOperateInformation(tOperateInformation);
    }

    /**
     * 修改运营管理资讯动态
     *
     * @param tOperateInformation 运营管理资讯动态
     * @return 结果
     */
    @Override
    public int updateTOperateInformation(TOperateInformation tOperateInformation) {
        super.update(tOperateInformation);
        return tOperateInformationMapper.updateTOperateInformation(tOperateInformation);
    }

    /**
     * 批量删除运营管理资讯动态
     *
     * @param informationIds 需要删除的运营管理资讯动态ID
     * @return 结果
     */
    @Override
    public int deleteTOperateInformationByIds(Long[] informationIds) {
        return tOperateInformationMapper.deleteTOperateInformationByIds(informationIds);
    }

    /**
     * 删除运营管理资讯动态信息
     *
     * @param informationId 运营管理资讯动态ID
     * @return 结果
     */
    @Override
    public int deleteTOperateInformationById(Long informationId) {
        return tOperateInformationMapper.deleteTOperateInformationById(informationId);
    }
}
